function check(args) {
	var actual = args.length;
	var expected = args.callee.length;
	if(actual != expected) {
		throw new Error("Wrong number of arguments: expected: " + expected + "; actually passed " + actual);
	}
}

function f(x, y, z) {
	check(arguments);
	
	return x + y + z;
}

uniqueInteger.counter = 0;

function uniqueInteger() {
	return uniqueInteger.counter;
}

c.call(o, 1, 2);
o.m = f;
o.m(1, 2);
delete o.m;

f.apply(o, [1, 2]);

var biggest = Math.max.apply(null, array_of_numbers);